var userManage = {
    getQueryCondition : function(data) {
        var param = {};
        //组装排序参数
        if (data.order&&data.order.length&&data.order[0]) {
            switch (data.order[0].column) {
                case 0:
                    param.orderColumn = "project_name";//数据库列名称
                    break;
                default:
                    param.orderColumn = "project_name";//数据库列名称
                    break;
            }
            //排序方式asc或者desc
            param.orderDir = data.order[0].dir;
        }
        //组装分页参数
        param.startIndex = data.start;
        param.pageSize = data.length;
        param.draw = data.draw;

        param.access_token = $.cookie("access_token");

        return param;
    },
    editItemInit : function(item) {

    },
    deleteItem : function(_table,item) {

    },
    showItemDetail: function(item){

    }
};

// $(function(){
    function loadProject() {
        var $table = $("#datatables-project-list");

        var _table = $table.dataTable($.extend(true, {}, CONSTANT.DATA_TABLES.DEFAULT_OPTION, {
            ajax: function (data, callback, settings) {
                //封装请求参数
                var param = userManage.getQueryCondition(data);
                $.ajax({
                    type: "post",
                    url: "/sys/loadProjectList",
                    cache: false,	//禁用缓存
                    data: param,	//传入已封装的参数
                    dataType: "json",
                    success: function (result) {
                        //异常判断与处理
                        if (result.errorCode) {
                            layer.msg("查询失败");
                            return;
                        }
                        //封装返回数据
                        var returnData = {};
                        returnData.draw = data.draw;//这里直接自行返回了draw计数器,应该由后台返回
                        returnData.recordsTotal = result.total;//总记录数
                        returnData.recordsFiltered = result.total;//后台不实现过滤功能，每次查询均视作全部结果
                        returnData.data = result.pageData;
                        //调用DataTables提供的callback方法，代表数据已封装完成并传回DataTables进行渲染
                        //此时的数据需确保正确无误，异常判断应在执行此回调前自行处理完毕
                        callback(returnData);
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        layer.msg("查询失败");
                    }
                });

            },
            //绑定数据
            columns: [
                {
                    data: "projectName",//项目名称
                    orderable: false//禁用排序
                },
                {
                    data: "projectLanguage",//语言
                    render: function (data, type, row, meta) {
                        return (data == 1 ? "javaScript" : "其他");
                    },
                    orderable: false//禁用排序
                },
                // {
                //     data: "debugNum",//bug数量
                //     orderable: false//禁用排序
                //     // render: function(data, type, row, meta) {
                //     //     return '<div style="width:100px;height:20px;overflow: hidden;text-overflow: ellipsis;" title="'+data+'"><nobr>'+data+'</nobr></div>';
                //     // }
                // },
                {
                    data: "projectApikey",//apikey
                    orderable: false,//禁用排序
                    render: function(data, type, row, meta) {
                        return '<div style="width:100px;height:20px;overflow: hidden;text-overflow: ellipsis;" title="'+data+'"><nobr>'+data+'</nobr></div>';
                    }
                    // render : function(data,type, row, meta){
                    //     return new Date(parseInt(data)).toLocaleString().replace(/:\d{1,2}$/,' ');
                    // }
                },
                {
                    data: "projectJsUrl",//project_js_url
                    orderable: false,//禁用排序
                    render: function(data, type, row, meta) {
                        return '<div style="width:100px;height:20px;overflow: hidden;text-overflow: ellipsis;" title="'+data+'"><nobr>'+data+'</nobr></div>';
                    }
                    // render : function(data,type, row, meta) {
                    //     return (data==2?"审核中":(data==3?"审核通过":"未通过"));
                    // }
                },
                {
                    data: "memberNum",//成员个数
                    orderable: false//禁用排序
                    // render : function(data,type, row, meta) {
                    //     return (data==2?"审核中":(data==3?"审核通过":"未通过"));
                    // }
                },
                {
                    data: null,//字段名
                    defaultContent: "",//无默认值
                    orderable: false//禁用排序
                }
            ],

            "createdRow": function (row, data, index) {
                //不使用render，改用jquery文档操作呈现单元格
                var $btnShow = $('<a type="button" class="btn-show" style="cursor:pointer;text-decoration:none;" data-toggle="modal" data-target="#myModal">查看</a>');
                var $btnEdit = $('<a type="button" class="btn-del" style="cursor:pointer;text-decoration:none;">修改</a>');
                $('td', row).eq(5).append($btnShow).append("&nbsp;&nbsp;");//.append($btnEdit);
//   	        	$('td', row).eq(6).append($btnEdit);
            },
            "drawCallback": function (settings) {
                //渲染完毕后的回调
                //默认选中第一行
                //$("tbody tr",$table).eq(0).click();
            }
        })).api();//此处需调用api()方法,否则返回的是JQuery对象而不是DataTables的API对象
        //查询
        $("#btn_search").click(function () {
            _table.draw();
        });
        //行点击事件
        $("tbody", $table).on("click", "tr", function (event) {
            $(this).addClass("active").siblings().removeClass("active");
            //获取该行对应的数据
            var item = _table.row($(this).closest('tr')).data();
            userManage.showItemDetail(item);
        });
        //按钮点击事件
        $table.on("click", ".btn-show", function () {
            //点击查看按钮
            var item = _table.row($(this).closest('tr')).data();
            $("#myModalLabel").text(item.projectName+"详细信息");

            $("#show-projectName").text(item.projectName);
            $("#show-projectLanuage").text('javaScript');
            $("#show-apiKey").text(item.projectApikey);
            $("#show-jsUrl").text(item.projectJsUrl);
            $("#show-memberNum").text(item.memberNum);
            //成员信息  昵称   邮箱     权限（创建者，参与者）
            send(
                '/sys/loadMemeberList/'+item.id,
                {},
                function (data) {
                    if(data.result == "0"){
                        var str = "用户名     邮箱      身份";
                        var list = data.data;
                        for(var i=0;i<list.length;i++){
                            //success  info   warning   danger
                            if(i%4 == 0){
                                str+='<tr class="success">';
                            }
                            if(i%4 == 1){
                                str+='<tr class="info">';
                            }
                            if(i%4 == 2){
                                str+='<tr class="warning">';
                            }
                            if(i%4 == 3){
                                str+='<tr class="danger">';
                            }
                            str+='<td>'+(i+1)+'</td>';
                            str+='<td>'+list[i].nickName+'</td>';
                            str+='<td>'+list[i].memberEmail+'</td>';
                            str+='<td>'+(list[i].isAdmin==1?'创建者':'参与者')+'</td>';
                            if(list[i].isRemind == 1){
                                //关闭
                                str+='<td><a href="javascript:void(0)" onclick="editIsRemind('+list[i].id+')" id="'+list[i].id+'a" class="btn btn-danger">关闭</a></td>';
                            }else{
                                //提醒
                                str+='<td><a href="javascript:void(0)" onclick="editIsRemind('+list[i].id+')" id="'+list[i].id+'a" class="btn btn-success">打开</a></td>';
                            }
                            str+='</tr>';
                        }
                        $("#show-memberInfo").html(str);
                    }else{
                        $("#show-memberInfo").text(data.message);
                    }

                },
                function (res) {

                }
            );

            



        }).on("click", ".btn-del", function () {
            //点击删除按钮
            var item = _table.row($(this).closest('tr')).data();
            userManage.deleteItem(_table, item);
        });
        //影藏列
//	   	$('a').on( 'click', function (e) {
//	   		var cut = $(this).text()
//	   		if(cut.indexOf("显示")>-1){
//	   			$(this).text("影藏"+cut.split("示")[1])
//	   		}else{
//	   			$(this).text("显示"+cut.split("藏")[1])
//	   		}
//	        e.preventDefault();
//	        var column = _table.column( $(this).attr('data-column') );
//	        column.visible( ! column.visible() );
//	    } );
    }
// });
//是否提醒
function editIsRemind(id) {
    var _this = $("#"+id+"a");
    var state = 1;
    if(_this.text() == '关闭'){
        state = 2;
    }else{
        state = 1;
    }
    send(
        '/sys/editMember/'+id+'/'+state,
        {},
        function (data) {
            if(data.result == 0){
                layer.msg(data.message);

                if(state == 1){
                    _this.text("关闭");
                    _this.removeClass("btn-success").addClass("btn-danger");
                }else{
                    _this.text("打开");
                    _this.removeClass("btn-danger").addClass("btn-success");
                }
            }
        },
        function (res) {

        }
    );
}


